When you write "get at the information" and "querying port 80", you make it sound like the data is just sitting there waiting to be fetched. That is not the case. You have to make a specific request to Domino to make it get the raw data from the NSF file and transform it into HTML. When it has done all this work for you, it sends the HTML data back to your program. Yes, this is standardized and optimized. For example, it is the same mechanism that your browser uses to display thw web page you are reading now.
If you need to get HTML formatted for a browser client out of a Domino server, then yes, HTTP is the only way.
It is not just web servers that work this way. Huge numbers of server programs use the same mechanism. For example, when I want to get data from one of my MySQL databases, I send the query to port 3306 on localhost, and the database server sends the results back.
This is elegant because it allows the server to be moved to another machine without changing any syntax, and it allows the server program and the client programs that use it to be independent.
I do not know what you mean by "dynamic content". Perhaps, as Luke suggests, if you explain what you are really trying to achieve then someone can suggest another method.